<!DOCTYPE html>
<html>
<head>
  <meta charset="utf-8">
  
  
  <title>前言-中文操作系统开发前置知识 | Hexo</title>
  <meta name="viewport" content="width=device-width, initial-scale=1, shrink-to-fit=no">
  <meta name="description" content="一、基础知识 1.什么是操作系统 可以任意显示窗体，光标控制，运行多个程序 2.从零开始编写操作系统的工具 语言：C语音 3.操作系统运行的逻辑 开机后自动执行 4.如何执行操作系统 1.在windows系统编写源代码 2.用C语音编译源代码，生成机器语言 3.对机器语言文件进行加工，生成软盘映像文件 4.将映像文件写入磁盘，生成含操作系统的启动盘 二、目录参考 第一周（第1天 ～ 第7天）  一">
<meta property="og:type" content="article">
<meta property="og:title" content="前言-中文操作系统开发前置知识">
<meta property="og:url" content="https://goofyer.gitee.io/notes-on-computer-expertise/2022/01/15/%E7%BC%96%E5%86%99%E6%93%8D%E4%BD%9C%E7%B3%BB%E7%BB%9F/%E5%89%8D%E8%A8%80-%E4%B8%AD%E6%96%87%E6%93%8D%E4%BD%9C%E7%B3%BB%E7%BB%9F%E5%BC%80%E5%8F%91%E5%89%8D%E7%BD%AE%E7%9F%A5%E8%AF%86/index.html">
<meta property="og:site_name" content="Hexo">
<meta property="og:description" content="一、基础知识 1.什么是操作系统 可以任意显示窗体，光标控制，运行多个程序 2.从零开始编写操作系统的工具 语言：C语音 3.操作系统运行的逻辑 开机后自动执行 4.如何执行操作系统 1.在windows系统编写源代码 2.用C语音编译源代码，生成机器语言 3.对机器语言文件进行加工，生成软盘映像文件 4.将映像文件写入磁盘，生成含操作系统的启动盘 二、目录参考 第一周（第1天 ～ 第7天）  一">
<meta property="og:locale" content="en_US">
<meta property="article:published_time" content="2022-01-15T14:43:37.000Z">
<meta property="article:modified_time" content="2022-01-16T08:21:55.604Z">
<meta property="article:author" content="John Doe">
<meta name="twitter:card" content="summary">
  
    <link rel="alternate" href="/notes-on-computer-expertise/atom.xml" title="Hexo" type="application/atom+xml">
  
  
    <link rel="shortcut icon" href="/notes-on-computer-expertise/favicon.png">
  
  
    
<link rel="stylesheet" href="https://cdn.jsdelivr.net/npm/typeface-source-code-pro@0.0.71/index.min.css">

  
  
<link rel="stylesheet" href="/notes-on-computer-expertise/css/style.css">

  
    
<link rel="stylesheet" href="/notes-on-computer-expertise/fancybox/jquery.fancybox.min.css">

  
<meta name="generator" content="Hexo 5.4.0"></head>

<body>
  <div id="container">
    <div id="wrap">
      <header id="header">
  <div id="banner"></div>
  <div id="header-outer" class="outer">
    <div id="header-title" class="inner">
      <h1 id="logo-wrap">
        <a href="/notes-on-computer-expertise/" id="logo">Hexo</a>
      </h1>
      
    </div>
    <div id="header-inner" class="inner">
      <nav id="main-nav">
        <a id="main-nav-toggle" class="nav-icon"></a>
        
          <a class="main-nav-link" href="/notes-on-computer-expertise/">Home</a>
        
          <a class="main-nav-link" href="/notes-on-computer-expertise/archives">Archives</a>
        
      </nav>
      <nav id="sub-nav">
        
          <a id="nav-rss-link" class="nav-icon" href="/notes-on-computer-expertise/atom.xml" title="RSS Feed"></a>
        
        <a id="nav-search-btn" class="nav-icon" title="Search"></a>
      </nav>
      <div id="search-form-wrap">
        <form action="//google.com/search" method="get" accept-charset="UTF-8" class="search-form"><input type="search" name="q" class="search-form-input" placeholder="Search"><button type="submit" class="search-form-submit">&#xF002;</button><input type="hidden" name="sitesearch" value="https://goofyer.gitee.io/notes-on-computer-expertise"></form>
      </div>
    </div>
  </div>
</header>

      <div class="outer">
        <section id="main"><article id="post-编写操作系统/前言-中文操作系统开发前置知识" class="h-entry article article-type-post" itemprop="blogPost" itemscope itemtype="https://schema.org/BlogPosting">
  <div class="article-meta">
    <a href="/notes-on-computer-expertise/2022/01/15/%E7%BC%96%E5%86%99%E6%93%8D%E4%BD%9C%E7%B3%BB%E7%BB%9F/%E5%89%8D%E8%A8%80-%E4%B8%AD%E6%96%87%E6%93%8D%E4%BD%9C%E7%B3%BB%E7%BB%9F%E5%BC%80%E5%8F%91%E5%89%8D%E7%BD%AE%E7%9F%A5%E8%AF%86/" class="article-date">
  <time class="dt-published" datetime="2022-01-15T14:43:37.000Z" itemprop="datePublished">2022-01-15</time>
</a>
    
  <div class="article-category">
    <a class="article-category-link" href="/notes-on-computer-expertise/categories/%E6%93%8D%E4%BD%9C%E7%B3%BB%E7%BB%9F%E5%BC%80%E5%8F%91/">操作系统开发</a>
  </div>

  </div>
  <div class="article-inner">
    
    
      <header class="article-header">
        
  
    <h1 class="p-name article-title" itemprop="headline name">
      前言-中文操作系统开发前置知识
    </h1>
  

      </header>
    
    <div class="e-content article-entry" itemprop="articleBody">
      
        <p>一、基础知识</p>
<p>1.什么是操作系统</p>
<p>可以任意显示窗体，光标控制，运行多个程序</p>
<p>2.从零开始编写操作系统的工具</p>
<p>语言：C语音</p>
<p>3.操作系统运行的逻辑</p>
<p>开机后自动执行</p>
<p>4.如何执行操作系统</p>
<p>1.在windows系统编写源代码</p>
<p>2.用C语音编译源代码，生成机器语言</p>
<p>3.对机器语言文件进行加工，生成软盘映像文件</p>
<p>4.将映像文件写入磁盘，生成含操作系统的启动盘</p>
<p>二、目录参考</p>
<p>第一周（第<strong>1</strong>天 ～ 第<strong>7</strong>天） </p>
<p>一开始首先要考虑怎么来写一个“只要一通电就能运行的程序”。这部分 </p>
<p>用C语言写起来有些困难，所以主要还是用汇编语言来写。 </p>
<p>这步完成之后，下一步就要写一个从磁盘读取操作系统的程序。这时即 </p>
<p>便打开电脑电源，它也不会自动地将操作系统全部都读进来，它只能读 </p>
<p>取磁盘上最开始的512字节的内容，所以我们要编写剩余部分的载入程 </p>
<p>序。这个程序也要用汇编语言编写。 </p>
<p>一旦完成了这一步，以后的程序就可以用C语言来编写了。我们就尽快 </p>
<p>使用C语言来学习开发显示画面的程序。同时，我们也能慢慢熟悉C语 </p>
<p>言语法。这个时候我们好像在做自己想做的事，但事实上我们还没有自 </p>
<p>由操纵C语言。 </p>
<p>接下来，为了实现“移动鼠标”这一雄心，我们要对CPU进行细致的设 </p>
<p>定，并掌握中断处理程序的写法。从全书总体看来，这一部分是水平相 </p>
<p>当高的部分，笔者也觉得放在这里有些不妥，但从本书条理上讲，这些 </p>
<p>内容必须放在这里，所以只好请大家忍耐一下了。在这里，CPU的规格 </p>
<p>以及电脑复杂的规格都会给我们带来各种各样的麻烦。而且开发语言既 </p>
<p>有C语言，又有汇编语言，这又给我们造成了更大的混乱。这个时候我 </p>
<p>们一点儿也不会觉得这是在做自己想做的事，怎么看都像是在“受人摆 </p>
<p>布”。 </p>
<p>渡过这个痛苦的时期，第一周就该结束了。 </p>
<p>第二周（第<strong>8</strong>天 ～ 第<strong>14</strong>天）一周的苦战还是很有意义的，回头一看，我们就会发现自己还是斩获颇 </p>
<p>丰的。这时我们已经基本掌握了C语言的语法，连汇编语言的水平也能 </p>
<p>达到本书的要求了。 </p>
<p>所以现在我们就可以着手开发像样的操作系统了。但是这一次我们又要 </p>
<p>为算法头痛了。即使掌握了编程语言的语法，如果不懂得好的算法的 </p>
<p>话，也还是不能开发出来自己想要的操作系统。所以这一周我们就边学 </p>
<p>习算法边慢慢地开发操作系统。不过到了这一阶段，我们就能感觉到基 </p>
<p>本上不会再受技术问题限制了。 </p>
<p>第三周（第<strong>15</strong>天 ～ 第<strong>21</strong>天） </p>
<p>现在我们的技术已经相当厉害了，可以随心所欲地开发自己的操作系统 </p>
<p>了。首先是要支持多任务，然后是开发命令行窗口，之后就可以着手开 </p>
<p>发应用程序了。到本周结束时，就算还不够完备，我们也能拿出一个可 </p>
<p>以称之为操作系统的软件了。 </p>
<p>第四周（第<strong>22</strong>天 ～ 第<strong>28</strong>天） </p>
<p>在这个阶段，我们可以尽情地给操作系统增加各种各样的功能，同时还 </p>
<p>可以开发出大量像模像样的应用程序来。这个阶段我们已经能做得很好 </p>
<p>了，这可能也是我们最高兴的时期。这部分要讲解的内容很少，笔者也 </p>
<p>不用再煞费苦心地去写那些文字说明了，可以把精力都集中在编程上 </p>
<p>（笑）。对了，说起文字才想起来，正好在这个时期可以让我们的操作 </p>
<p>系统显示文字了。 </p>
<p>免费赠送两天（第<strong>29</strong>天 ～ 第<strong>30</strong>天） </p>
<p>剩下的两天用来润色加工。这两天我们来做一些之前没来得及做，但做 </p>
<p>起来既简单又有趣的内容</p>

      
    </div>
    <footer class="article-footer">
      <a data-url="https://goofyer.gitee.io/notes-on-computer-expertise/2022/01/15/%E7%BC%96%E5%86%99%E6%93%8D%E4%BD%9C%E7%B3%BB%E7%BB%9F/%E5%89%8D%E8%A8%80-%E4%B8%AD%E6%96%87%E6%93%8D%E4%BD%9C%E7%B3%BB%E7%BB%9F%E5%BC%80%E5%8F%91%E5%89%8D%E7%BD%AE%E7%9F%A5%E8%AF%86/" data-id="cl403sxsf0045f8vugb3fg88o" data-title="前言-中文操作系统开发前置知识" class="article-share-link">Share</a>
      
      
      
    </footer>
  </div>
  
    
<nav id="article-nav">
  
    <a href="/notes-on-computer-expertise/2022/01/15/python/python%E8%AF%BB%E5%8F%96excel/" id="article-nav-newer" class="article-nav-link-wrap">
      <strong class="article-nav-caption">Newer</strong>
      <div class="article-nav-title">
        
          前言-中文操作系统开发前置知识
        
      </div>
    </a>
  
  
    <a href="/notes-on-computer-expertise/2022/01/11/%E8%99%9A%E5%B9%BB4%E5%BC%95%E6%93%8E%E5%BC%80%E5%8F%91/%E4%B8%80%E3%80%81%E5%87%86%E5%A4%87%E5%B7%A5%E4%BD%9C-%E5%BC%80%E5%A7%8B%E5%BB%BA%E6%A8%A1/" id="article-nav-older" class="article-nav-link-wrap">
      <strong class="article-nav-caption">Older</strong>
      <div class="article-nav-title">一、准备工作 开始建模</div>
    </a>
  
</nav>

  
</article>


</section>
        
          <aside id="sidebar">
  
    
  <div class="widget-wrap">
    <h3 class="widget-title">Categories</h3>
    <div class="widget">
      <ul class="category-list"><li class="category-list-item"><a class="category-list-link" href="/notes-on-computer-expertise/categories/C-%E5%B7%A5%E5%85%B7/">C#工具</a></li><li class="category-list-item"><a class="category-list-link" href="/notes-on-computer-expertise/categories/C-%E5%B7%A5%E5%85%B7/">C++工具</a></li><li class="category-list-item"><a class="category-list-link" href="/notes-on-computer-expertise/categories/Mysql/">Mysql</a></li><li class="category-list-item"><a class="category-list-link" href="/notes-on-computer-expertise/categories/blender/">blender</a></li><li class="category-list-item"><a class="category-list-link" href="/notes-on-computer-expertise/categories/linux/">linux</a></li><li class="category-list-item"><a class="category-list-link" href="/notes-on-computer-expertise/categories/manim/">manim</a></li><li class="category-list-item"><a class="category-list-link" href="/notes-on-computer-expertise/categories/spring/">spring</a></li><li class="category-list-item"><a class="category-list-link" href="/notes-on-computer-expertise/categories/vba%E5%9F%BA%E7%A1%80%E6%93%8D%E4%BD%9C/">vba基础操作</a></li><li class="category-list-item"><a class="category-list-link" href="/notes-on-computer-expertise/categories/%E5%88%9B%E9%80%A0%E6%A8%A1%E5%BC%8F/">创造模式</a></li><li class="category-list-item"><a class="category-list-link" href="/notes-on-computer-expertise/categories/%E6%93%8D%E4%BD%9C%E7%B3%BB%E7%BB%9F/">操作系统</a></li><li class="category-list-item"><a class="category-list-link" href="/notes-on-computer-expertise/categories/%E6%93%8D%E4%BD%9C%E7%B3%BB%E7%BB%9F%E5%9F%BA%E7%A1%80%E7%9F%A5%E8%AF%86/">操作系统基础知识</a></li><li class="category-list-item"><a class="category-list-link" href="/notes-on-computer-expertise/categories/%E6%93%8D%E4%BD%9C%E7%B3%BB%E7%BB%9F%E5%BC%80%E5%8F%91/">操作系统开发</a></li><li class="category-list-item"><a class="category-list-link" href="/notes-on-computer-expertise/categories/%E6%95%B0%E5%AD%A6/">数学</a></li><li class="category-list-item"><a class="category-list-link" href="/notes-on-computer-expertise/categories/%E6%95%B0%E6%8D%AE%E7%BB%93%E6%9E%84/">数据结构</a></li><li class="category-list-item"><a class="category-list-link" href="/notes-on-computer-expertise/categories/%E6%95%B0%E6%8D%AE%E7%BB%93%E6%9E%84%E5%9F%BA%E7%A1%80%E7%9F%A5%E8%AF%86/">数据结构基础知识</a></li><li class="category-list-item"><a class="category-list-link" href="/notes-on-computer-expertise/categories/%E6%A8%A1%E6%9D%BF/">模板</a></li><li class="category-list-item"><a class="category-list-link" href="/notes-on-computer-expertise/categories/%E6%B7%B1%E5%BA%A6%E5%AD%A6%E4%B9%A0/">深度学习</a></li><li class="category-list-item"><a class="category-list-link" href="/notes-on-computer-expertise/categories/%E8%8B%B1%E8%AF%AD/">英语</a></li><li class="category-list-item"><a class="category-list-link" href="/notes-on-computer-expertise/categories/%E8%99%9A%E5%B9%BB4/">虚幻4</a></li><li class="category-list-item"><a class="category-list-link" href="/notes-on-computer-expertise/categories/%E8%AE%A1%E7%AE%97%E6%9C%BA%E7%BB%84%E6%88%90%E5%8E%9F%E7%90%86/">计算机组成原理</a></li><li class="category-list-item"><a class="category-list-link" href="/notes-on-computer-expertise/categories/%E8%AE%A1%E7%AE%97%E6%9C%BA%E7%BD%91%E7%BB%9C/">计算机网络</a></li></ul>
    </div>
  </div>


  
    
  <div class="widget-wrap">
    <h3 class="widget-title">Tags</h3>
    <div class="widget">
      <ul class="tag-list" itemprop="keywords"><li class="tag-list-item"><a class="tag-list-link" href="/notes-on-computer-expertise/tags/C/" rel="tag">C++</a></li></ul>
    </div>
  </div>


  
    
  <div class="widget-wrap">
    <h3 class="widget-title">Tag Cloud</h3>
    <div class="widget tagcloud">
      <a href="/notes-on-computer-expertise/tags/C/" style="font-size: 10px;">C++</a>
    </div>
  </div>

  
    
  <div class="widget-wrap">
    <h3 class="widget-title">Archives</h3>
    <div class="widget">
      <ul class="archive-list"><li class="archive-list-item"><a class="archive-list-link" href="/notes-on-computer-expertise/archives/2022/05/">May 2022</a></li><li class="archive-list-item"><a class="archive-list-link" href="/notes-on-computer-expertise/archives/2022/03/">March 2022</a></li><li class="archive-list-item"><a class="archive-list-link" href="/notes-on-computer-expertise/archives/2022/02/">February 2022</a></li><li class="archive-list-item"><a class="archive-list-link" href="/notes-on-computer-expertise/archives/2022/01/">January 2022</a></li><li class="archive-list-item"><a class="archive-list-link" href="/notes-on-computer-expertise/archives/2021/12/">December 2021</a></li></ul>
    </div>
  </div>


  
    
  <div class="widget-wrap">
    <h3 class="widget-title">Recent Posts</h3>
    <div class="widget">
      <ul>
        
          <li>
            <a href="/notes-on-computer-expertise/2022/05/31/vue/%E5%89%8D%E7%AB%AF%E6%A1%86%E6%9E%B6%E9%AA%8C%E8%AF%81%E7%A0%81%E6%97%A0%E6%B3%95%E6%98%BE%E7%A4%BA/">(no title)</a>
          </li>
        
          <li>
            <a href="/notes-on-computer-expertise/2022/05/26/%E6%95%B0%E6%8D%AE%E5%BA%93/navicat%E5%AE%89%E8%A3%85/">(no title)</a>
          </li>
        
          <li>
            <a href="/notes-on-computer-expertise/2022/05/25/%E8%99%9A%E5%B9%BB4%E5%BC%95%E6%93%8E%E5%BC%80%E5%8F%91/%E8%99%9A%E5%B9%BB%E5%9B%9B%20mod%E5%88%B6%E4%BD%9C/">(no title)</a>
          </li>
        
          <li>
            <a href="/notes-on-computer-expertise/2022/05/23/python/python%E6%89%B9%E9%87%8F%E7%94%9F%E6%88%90%E6%95%B0%E6%8D%AE/">(no title)</a>
          </li>
        
          <li>
            <a href="/notes-on-computer-expertise/2022/05/23/vba%E5%9F%BA%E7%A1%80%E6%93%8D%E4%BD%9C%E7%AC%94%E8%AE%B0/EXCEL%E5%9F%BA%E7%A1%80%E6%95%99%E7%A8%8B/">(no title)</a>
          </li>
        
      </ul>
    </div>
  </div>

  
</aside>
        
      </div>
      <footer id="footer">
  
  <div class="outer">
    <div id="footer-info" class="inner">
      
      &copy; 2022 John Doe<br>
      Powered by <a href="https://hexo.io/" target="_blank">Hexo</a>
    </div>
  </div>
</footer>

    </div>
    <nav id="mobile-nav">
  
    <a href="/notes-on-computer-expertise/" class="mobile-nav-link">Home</a>
  
    <a href="/notes-on-computer-expertise/archives" class="mobile-nav-link">Archives</a>
  
</nav>
    


<script src="/notes-on-computer-expertise/js/jquery-3.4.1.min.js"></script>



  
<script src="/notes-on-computer-expertise/fancybox/jquery.fancybox.min.js"></script>




<script src="/notes-on-computer-expertise/js/script.js"></script>





  </div>
<script type="text/x-mathjax-config">
    MathJax.Hub.Config({
        tex2jax: {
            inlineMath: [ ["$","$"], ["\\(","\\)"] ],
            skipTags: ['script', 'noscript', 'style', 'textarea', 'pre', 'code'],
            processEscapes: true
        }
    });
    MathJax.Hub.Queue(function() {
        var all = MathJax.Hub.getAllJax();
        for (var i = 0; i < all.length; ++i)
            all[i].SourceElement().parentNode.className += ' has-jax';
    });
</script>
<script src="https://cdnjs.cloudflare.com/ajax/libs/mathjax/2.7.1/MathJax.js?config=TeX-MML-AM_CHTML"></script>
</body>
</html>